C.S.Burner 🪙 ━►🔥GIT Node
Node / reticulum_mirror / MeshChatX / files / meshchatx / src / frontend / components / interfaces / AddInterfacePage.vue
Displaying Raw • Download
meshchatx/src/frontend/components/interfaces/AddInterfacePage.vue f2bbff5c3d5cf2eb37e75eb4607ada3987e9f65f (f2bbff5c) Text, 90.09 KB
Tff7b72<Te6edf3templateTff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"flex flex-col flex-1 overflow-hidden min-w-0 bg-gradient-to-br from-slate-50 via-slate-100 to-white dark:from-zinc-950 dark:via-zinc-900 dark:to-zinc-900"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"overflow-y-auto p-3 md:p-6 space-y-4 max-w-5xl mx-auto w-full"Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3community Te6edf3interfaces Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"!isEditingInterface && config != null && config.show_suggested_community_interfaces"
Tff7b72classTff7b72=Ta5d6ff"bg-white/95 dark:bg-zinc-900/80 backdrop-blur border border-gray-200 dark:border-zinc-800 rounded-3xl shadow-lg divide-y divide-gray-200 dark:divide-zinc-800"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex p-3"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"my-auto mr-auto"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400"Tff7b72>Te6edf3Quick Tff7b72startTff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"font-semibold text-lg text-gray-900 dark:text-white"Tff7b72>Te6edf3Community Te6edf3InterfacesTff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-gray-200"Tff7b72>
Te6edf3OneTff7b72-Te6edf3click Te6edf3helpers Tff7b72for Tff7b72public Te6edf3TCP Te6edf3relaysTb4b4b4. Te6edf3Spin Te6edf3up Te6edf3your Te6edf3own Tff7b72when Te6edf3possible Tff7b72to Te6edf3ensure
Te6edf3availabilityTb4b4b4.
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"my-auto ml-2"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tff7b72classTff7b72=Ta5d6ff"text-gray-700 bg-white border border-gray-200 hover:border-red-300 p-2 rounded-full shadow-sm dark:bg-zinc-800 dark:text-white dark:border-zinc-700 dark:hover:border-red-400"
Te6edf3@clickTff7b72=Ta5d6ff"updateConfig({ show_suggested_community_interfaces: false })"
Tff7b72>
Tff7b72<Te6edf3svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 20 20"
Te6edf3fillTff7b72=Ta5d6ff"currentColor"
Tff7b72classTff7b72=Ta5d6ff"w-5 h-5"
Tff7b72>
Tff7b72<Tff7b72path
Te6edf3dTff7b72=Ta5d6ff"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3svgTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"divide-y divide-gray-200 dark:text-white"Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"communityIface in communityInterfaces"
:Tff7b72keyTff7b72=Ta5d6ff"communityIface.name"
Tff7b72classTff7b72=Ta5d6ff"flex px-3 py-2 items-center"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"my-auto mr-auto"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"font-semibold text-gray-900 dark:text-gray-100"Tff7b72>{{ Te6edf3communityIfaceTb4b4b4.Te6edf3name }}Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-gray-300"Tff7b72>
{{ Te6edf3communityIfaceTb4b4b4.Te6edf3target_host }}:{{ Te6edf3communityIfaceTb4b4b4.Te6edf3target_port }}
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"communityIface.online" Tff7b72classTff7b72=Ta5d6ff"ml-1 text-green-500 font-bold"Tff7b72>Te6edf3OnlineTff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72else Tff7b72classTff7b72=Ta5d6ff"ml-1 text-red-500"Tff7b72>Te6edf3OfflineTff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"communityIface.description"
Tff7b72classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-gray-400 italic"
Tff7b72>
{{ Te6edf3communityIfaceTb4b4b4.Te6edf3description }}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"ml-2 my-auto"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tff7b72classTff7b72=Ta5d6ff"inline-flex items-center gap-x-2 rounded-full bg-blue-600/90 px-3 py-1.5 text-xs font-semibold text-white shadow hover:bg-blue-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500"
Te6edf3@clickTff7b72=Ta5d6ff"
newInterfaceName = communityIface.name;
newInterfaceType = communityIface.type;
newInterfaceTargetHost = communityIface.target_host;
newInterfaceTargetPort = communityIface.target_port;
"
Tff7b72>
Tff7b72<Te6edf3spanTff7b72>Tff7b72Use Te6edf3InterfaceTff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Tff7b72add Te6edf3interface Te6edf3form Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"bg-white/95 dark:bg-zinc-900/85 backdrop-blur border border-gray-200 dark:border-zinc-800 rounded-3xl shadow-xl"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex flex-wrap gap-3 items-center p-3 border-b border-gray-200 dark:border-zinc-800"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400"Tff7b72>
{{ Te6edf3isEditingInterface Tff7b72? Ta5d6ff"Update" : Ta5d6ff"Create" }}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-xl font-semibold text-gray-900 dark:text-white"Tff7b72>
{{ Te6edf3isEditingInterface Tff7b72? Ta5d6ff"Edit Interface" : Ta5d6ff"Add Interface" }}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-gray-300"Tff7b72>
Te6edf3Name Te6edf3your Tff7b72connection Tff7b72and Tff7b72select Te6edf3its Te6edf3transport Te6edf3typeTb4b4b4.
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex gap-2"Tff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"button" Tff7b72classTff7b72=Ta5d6ff"secondary-chip text-xs" Te6edf3@clickTff7b72=Ta5d6ff"loadComports"Tff7b72>Te6edf3Reload Te6edf3PortsTff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3RouterLink :Tff7b72toTff7b72=Ta5d6ff"{ name: 'interfaces' }" Tff7b72classTff7b72=Ta5d6ff"secondary-chip text-xs"Tff7b72> Tff7b72View Tff7b72All Tff7b72<Tff7b72/Te6edf3RouterLinkTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-3 md:p-5 space-y-4"Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3iGeneric Te6edf3interface Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3name Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"glass-label"Tff7b72>Te6edf3NameTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceName"
Te6edf3typeTff7b72=Ta5d6ff"text"
:Te6edf3disabledTff7b72=Ta5d6ff"isEditingInterface"
Te6edf3placeholderTff7b72=Ta5d6ff"New Interface Name"
Tff7b72classTff7b72=Ta5d6ff"input-field"
:Tff7b72classTff7b72=Ta5d6ff"[isEditingInterface ? 'cursor-not-allowed bg-gray-200 dark:bg-zinc-800' : '']"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3FormSubLabel Tff7b72classTff7b72=Ta5d6ff"text-xs"Tff7b72>Te6edf3Interface Tff7b72names Te6edf3must Te6edf3be Tff7b72uniqueTb4b4b4.Tff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3type Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"glass-label"Tff7b72>Te6edf3TypeTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceType" Tff7b72classTff7b72=Ta5d6ff"input-field"Tff7b72>
Tff7b72<Tff7b72option Te6edf3disabled Te6edf3selectedTff7b72>Te6edf3Pick Te6edf3a Te6edf3category…Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Te6edf3optgroup Te6edf3labelTff7b72=Ta5d6ff"Automatic"Tff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"AutoInterface"Tff7b72>Te6edf3Auto Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Te6edf3optgroupTff7b72>
Tff7b72<Te6edf3optgroup Te6edf3labelTff7b72=Ta5d6ff"RNodes"Tff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"RNodeInterface"Tff7b72>Te6edf3RNode Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"RNodeIPInterface"Tff7b72>Te6edf3RNode Te6edf3IP Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"RNodeMultiInterface"Tff7b72>Te6edf3RNode Te6edf3Multi Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Te6edf3optgroupTff7b72>
Tff7b72<Te6edf3optgroup Te6edf3labelTff7b72=Ta5d6ff"IP Networks"Tff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"TCPClientInterface"Tff7b72>Te6edf3TCP Te6edf3Client Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"TCPServerInterface"Tff7b72>Te6edf3TCP Te6edf3Server Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"UDPInterface"Tff7b72>Te6edf3UDP Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"I2PInterface"Tff7b72>Te6edf3I2P Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Te6edf3optgroupTff7b72>
Tff7b72<Te6edf3optgroup Te6edf3labelTff7b72=Ta5d6ff"Hardware"Tff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"SerialInterface"Tff7b72>Te6edf3Serial Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"KISSInterface"Tff7b72>Te6edf3KISS Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"AX25KISSInterface"Tff7b72>Te6edf3AXT79c0ff.25 Te6edf3KISS Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Te6edf3optgroupTff7b72>
Tff7b72<Te6edf3optgroup Te6edf3labelTff7b72=Ta5d6ff"Pipelines"Tff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"PipeInterface"Tff7b72>Te6edf3Pipe Te6edf3InterfaceTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Te6edf3optgroupTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Te6edf3FormSubLabelTff7b72>
Te6edf3Need Te6edf3helpTff7b72?
Tff7b72<Te6edf3a Tff7b72classTff7b72=Ta5d6ff"text-blue-500 underline" Te6edf3hrefTff7b72=Ta5d6ff"/reticulum-docs/interfaces.html" Te6edf3targetTff7b72=Ta5d6ff"_blank"
Tff7b72>Te6edf3Reticulum Te6edf3DocsTb4b4b4: Te6edf3Configuring Te6edf3InterfacesTff7b72<Tff7b72/Te6edf3a
Tff7b72>
Tff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3TCPClientInterface Tff7b72-Tff7b72-Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3target Tff7b72host Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'TCPClientInterface'" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Target Tff7b72HostTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceTargetHost"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: example.com"
Tff7b72classTff7b72=Ta5d6ff"input-field"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3target Te6edf3port Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'TCPClientInterface'" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Target Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceTargetPort"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: 1234"
Tff7b72classTff7b72=Ta5d6ff"input-field"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3TCPServerInterface Tff7b72-Tff7b72-Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3listen Te6edf3ip Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'TCPServerInterface' || newInterfaceType === 'UDPInterface'"
Tff7b72classTff7b72=Ta5d6ff"mb-2"
Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Listen Te6edf3IPTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceListenIp"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: 0.0.0.0"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3listen Te6edf3port Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'TCPServerInterface' || newInterfaceType === 'UDPInterface'"
Tff7b72classTff7b72=Ta5d6ff"mb-2"
Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Listen Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceListenPort"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: 1234"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3UDPInterface Tff7b72-Tff7b72-Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3forward Te6edf3ip Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'UDPInterface'" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Forward Te6edf3IPTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceForwardIp"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: 255.255.255.255"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3listen Te6edf3port Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'UDPInterface'" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Forward Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceForwardPort"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: 1234"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3I2PInterface Tff7b72-Tff7b72-Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3peers Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'I2PInterface'"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"mb-2 text-sm text-gray-500 dark:text-zinc-300"Tff7b72>
ⓘ Tff7b72To Tff7b72use Te6edf3the Te6edf3I2P Te6edf3interfaceTb4b4b4, Te6edf3you Te6edf3must Te6edf3have Te6edf3an Te6edf3I2P Te6edf3router Te6edf3running Tff7b72on Te6edf3your Tff7b72systemTb4b4b4. Tff7b72When Te6edf3the Te6edf3I2P
Te6edf3Interface Tff7b72is Te6edf3added Tff7b72for Te6edf3the Tff7b72first T56d364time Te6edf3Reticulum Te6edf3will Te6edf3generate Te6edf3a Tff7b72new Te6edf3I2P Te6edf3address Tff7b72for Te6edf3the
Te6edf3interface Tff7b72and Tff7b72begin Te6edf3listening Tff7b72for Te6edf3inbound Te6edf3trafficTb4b4b4.
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3PeersTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"space-y-2"Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"(peer, index) in I2PSettings.newInterfacePeers"
:Tff7b72keyTff7b72=Ta5d6ff"index"
Tff7b72classTff7b72=Ta5d6ff"flex items-center space-x-2"
Tff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"I2PSettings.newInterfacePeers[index]"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter peer address (e.g: 5urvjicpzi7q3ybztsef4i5ow2aq4soktfj7zedz53s47r54jnqq.b32.i2p)"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tff7b72classTff7b72=Ta5d6ff"bg-red-500 hover:bg-red-400 text-white text-sm p-2 rounded-lg"
Te6edf3@clickTff7b72=Ta5d6ff"removeI2PPeer(index)"
Tff7b72>
Te6edf3Remove
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tff7b72classTff7b72=Ta5d6ff"bg-green-500 hover:bg-green-400 text-white text-sm px-4 py-2 rounded-lg"
Te6edf3@clickTff7b72=Ta5d6ff"addI2PPeer('')"
Tff7b72>
Tff7b72Add Te6edf3Peer
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3RNode Te6edf3interface Tff7b72-Tff7b72-Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3port Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['RNodeInterface', 'RNodeIPInterface'].includes(newInterfaceType)" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'RNodeInterface'" Tff7b72classTff7b72=Ta5d6ff"flex items-center mb-2"Tff7b72>
Tff7b72<Te6edf3Toggle Te6edf3idTff7b72=Ta5d6ff"rnode-use-ip" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceRNodeUseIP" Tff7b72/Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72forTff7b72=Ta5d6ff"rnode-use-ip" Tff7b72classTff7b72=Ta5d6ff"ml-2"Tff7b72>Tff7b72Connect Tff7b72over Te6edf3IPTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceRNodeUseIP || newInterfaceType === 'RNodeIPInterface'" Tff7b72classTff7b72=Ta5d6ff"space-y-2"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Tff7b72HostTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceRNodeIPHost"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: 10.0.0.1"
Tff7b72classTff7b72=Ta5d6ff"input-field"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceRNodeIPPort"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: 7633"
Tff7b72classTff7b72=Ta5d6ff"input-field"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72elseTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfacePort"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"comport of comports" :Tff7b72keyTff7b72=Ta5d6ff"comport.device" :Tff7b72valueTff7b72=Ta5d6ff"comport.device"Tff7b72>
{{ Te6edf3comportTb4b4b4.Te6edf3device }} Tb4b4b4(Te6edf3ProductTb4b4b4: {{ Te6edf3comportTb4b4b4.Te6edf3product Tff7b72?Tff7b72? Ta5d6ff"?" }}Tb4b4b4, Te6edf3SerialTb4b4b4:
{{ Te6edf3comportTb4b4b4.Te6edf3serial Tff7b72?Tff7b72? Ta5d6ff"?" }}Tb4b4b4)
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Te6edf3FormSubLabelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-blue-500 underline cursor-pointer" Te6edf3@clickTff7b72=Ta5d6ff"loadComports"Tff7b72>
Te6edf3Reload Te6edf3Ports
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3Frequency Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['RNodeInterface', 'RNodeIPInterface'].includes(newInterfaceType)" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>
Tff7b72<Te6edf3spanTff7b72>Te6edf3FrequencyTff7b72<Tff7b72/Te6edf3spanTff7b72>Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"formattedFrequency"Tff7b72>: {{ Te6edf3formattedFrequency }}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-center"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex flex-col"Tff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"RNodeGHzValue"
Te6edf3typeTff7b72=Ta5d6ff"number"
Td2a8ffminTff7b72=Ta5d6ff"0"
Te6edf3placeholderTff7b72=Ta5d6ff"GHz"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-l-lg focus:ring-blue-500 focus:border-blue-500 w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3FormSubLabel Tff7b72classTff7b72=Ta5d6ff"text-center"Tff7b72>Te6edf3GHzTff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex flex-col"Tff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"RNodeMHzValue"
Te6edf3typeTff7b72=Ta5d6ff"number"
Td2a8ffminTff7b72=Ta5d6ff"0"
Te6edf3placeholderTff7b72=Ta5d6ff"MHz"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border-y border-gray-300 text-gray-900 text-sm focus:ring-blue-500 focus:border-blue-500 w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3FormSubLabel Tff7b72classTff7b72=Ta5d6ff"text-center"Tff7b72>Te6edf3MHzTff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex flex-col"Tff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"RNodekHzValue"
Te6edf3typeTff7b72=Ta5d6ff"number"
Td2a8ffminTff7b72=Ta5d6ff"0"
Te6edf3placeholderTff7b72=Ta5d6ff"kHz"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-r-lg focus:ring-blue-500 focus:border-blue-500 w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3FormSubLabel Tff7b72classTff7b72=Ta5d6ff"text-center"Tff7b72>Te6edf3kHzTff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3bandwidth Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['RNodeInterface', 'RNodeIPInterface'].includes(newInterfaceType)" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3BandwidthTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceBandwidth"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"bandwidth in RNodeInterfaceDefaults.bandwidths"
:Tff7b72keyTff7b72=Ta5d6ff"bandwidth"
:Tff7b72valueTff7b72=Ta5d6ff"bandwidth"
Tff7b72>
{{ Te6edf3bandwidth Tff7b72/ T79c0ff1000 }} Te6edf3KHz
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3txpower Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['RNodeInterface', 'RNodeIPInterface'].includes(newInterfaceType)" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Transmit Td2a8ffPower Tb4b4b4(Te6edf3dBmTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceTxpower"
Te6edf3typeTff7b72=Ta5d6ff"number"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['RNodeInterface', 'RNodeIPInterface'].includes(newInterfaceType)" Tff7b72classTff7b72=Ta5d6ff"mb-2 flex flex-wrap items-start gap-4"Tff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3spreading Te6edf3factor Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Spreading Te6edf3FactorTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceSpreadingFactor"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-500"
Tff7b72>
Tff7b72<Tff7b72option
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"spreadingfactor in RNodeInterfaceDefaults.spreadingfactors"
:Tff7b72keyTff7b72=Ta5d6ff"spreadingfactor"
:Tff7b72valueTff7b72=Ta5d6ff"spreadingfactor"
Tff7b72>
{{ Te6edf3spreadingfactor }}
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3interface Te6edf3coding Te6edf3rate Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Coding Te6edf3RateTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceCodingRate"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-500"
Tff7b72>
Tff7b72<Tff7b72option
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"codingrate in RNodeInterfaceDefaults.codingrates"
:Tff7b72keyTff7b72=Ta5d6ff"codingrate"
:Tff7b72valueTff7b72=Ta5d6ff"codingrate"
Tff7b72>
{{ Te6edf3codingrate }}
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3RNodeMultiInterface Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'RNodeMultiInterface'" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-gray-400 mb-3"Tff7b72>
ⓘ Te6edf3The Te6edf3RNode Te6edf3Multi Te6edf3Interface Tff7b72is Te6edf3used Tff7b72for Te6edf3custom Te6edf3devices Tff7b72with Te6edf3multiple Te6edf3LoRa Te6edf3transceivers Te6edf3such
Tff7b72as Te6edf3the Te6edf3openCom Te6edf3XLTb4b4b4.
Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfacePort"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"comport of comports" :Tff7b72keyTff7b72=Ta5d6ff"comport.device" :Tff7b72valueTff7b72=Ta5d6ff"comport.device"Tff7b72>
{{ Te6edf3comportTb4b4b4.Te6edf3device }} Tb4b4b4(Te6edf3ProductTb4b4b4: {{ Te6edf3comportTb4b4b4.Te6edf3product Tff7b72?Tff7b72? Ta5d6ff"?" }}Tb4b4b4, Te6edf3SerialTb4b4b4:
{{ Te6edf3comportTb4b4b4.Te6edf3serial Tff7b72?Tff7b72? Ta5d6ff"?" }}Tb4b4b4)
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Te6edf3FormSubLabelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-blue-500 underline cursor-pointer" Te6edf3@clickTff7b72=Ta5d6ff"loadComports"Tff7b72>Te6edf3Reload Te6edf3PortsTff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3RNodeMultiInterfaceTb4b4b4: Te6edf3Sub Te6edf3Interfaces Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'RNodeMultiInterface'" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3SubTff7b72-Te6edf3InterfacesTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"space-y-3"Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"(sub, idx) in RNodeMultiInterface.subInterfaces"
:Tff7b72keyTff7b72=Ta5d6ff"idx"
Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-2 border border-gray-200 rounded-lg dark:border-zinc-700"
Tff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"sub.name"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"Sub-Interface Name"
Tff7b72classTff7b72=Ta5d6ff"w-full bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex gap-2"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Frequency Tb4b4b4(Te6edf3HzTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"sub.frequency"
Te6edf3typeTff7b72=Ta5d6ff"number"
Tff7b72classTff7b72=Ta5d6ff"w-full bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3BandwidthTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"sub.bandwidth"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"bandwidth in RNodeInterfaceDefaults.bandwidths"
:Tff7b72keyTff7b72=Ta5d6ff"bandwidth"
:Tff7b72valueTff7b72=Ta5d6ff"bandwidth"
Tff7b72>
{{ Te6edf3bandwidth Tff7b72/ T79c0ff1000 }} Te6edf3KHz
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex gap-2"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Spreading Te6edf3FactorTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"sub.spreadingfactor"
Tff7b72classTff7b72=Ta5d6ff"w-full bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72>
Tff7b72<Tff7b72option
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"sf in RNodeInterfaceDefaults.spreadingfactors"
:Tff7b72keyTff7b72=Ta5d6ff"sf"
:Tff7b72valueTff7b72=Ta5d6ff"sf"
Tff7b72>
{{ Te6edf3sf }}
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Coding Te6edf3RateTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"sub.codingrate"
Tff7b72classTff7b72=Ta5d6ff"w-full bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72>
Tff7b72<Tff7b72option
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"cr in RNodeInterfaceDefaults.codingrates"
:Tff7b72keyTff7b72=Ta5d6ff"cr"
:Tff7b72valueTff7b72=Ta5d6ff"cr"
Tff7b72>
{{ Te6edf3cr }}
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex gap-2 items-center"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3TX Td2a8ffPower Tb4b4b4(Te6edf3dBmTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"sub.txpower"
Te6edf3typeTff7b72=Ta5d6ff"number"
Tff7b72classTff7b72=Ta5d6ff"w-full bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Virtual Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"sub.vport"
Te6edf3typeTff7b72=Ta5d6ff"number"
Tff7b72classTff7b72=Ta5d6ff"w-full bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tff7b72classTff7b72=Ta5d6ff"bg-red-500 hover:bg-red-400 text-white text-sm p-2 rounded-lg"
Te6edf3@clickTff7b72=Ta5d6ff"removeSubInterface(idx)"
Tff7b72>
Te6edf3Remove Te6edf3SubTff7b72-Te6edf3Interface
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tff7b72classTff7b72=Ta5d6ff"bg-green-500 hover:bg-green-400 text-white text-sm px-4 py-2 rounded-lg"
Te6edf3@clickTff7b72=Ta5d6ff"addSubInterface"
Tff7b72>
Tff7b72Add Te6edf3SubTff7b72-Te6edf3Interface
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3SerialTb4b4b4, Te6edf3KISSTb4b4b4, Tff7b72and Te6edf3AX25Kiss Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['SerialInterface', 'KISSInterface', 'AX25KISSInterface'].includes(newInterfaceType)"
Tff7b72classTff7b72=Ta5d6ff"mb-4"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfacePort"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"comport of comports" :Tff7b72keyTff7b72=Ta5d6ff"comport.device" :Tff7b72valueTff7b72=Ta5d6ff"comport.device"Tff7b72>
{{ Te6edf3comportTb4b4b4.Te6edf3device }} Tb4b4b4(Te6edf3ProductTb4b4b4: {{ Te6edf3comportTb4b4b4.Te6edf3product Tff7b72?Tff7b72? Ta5d6ff"?" }}Tb4b4b4, Te6edf3SerialTb4b4b4:
{{ Te6edf3comportTb4b4b4.Te6edf3serial Tff7b72?Tff7b72? Ta5d6ff"?" }}Tb4b4b4)
Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Te6edf3FormSubLabelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-blue-500 underline cursor-pointer" Te6edf3@clickTff7b72=Ta5d6ff"loadComports"Tff7b72>
Te6edf3Reload Te6edf3Ports
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Serial Tff7b72connection Te6edf3baud Te6edf3rate Tb4b4b4(Te6edf3bpsTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceSpeed"
Te6edf3placeholderTff7b72=Ta5d6ff"9600"
Te6edf3typeTff7b72=Ta5d6ff"number"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3DatabitsTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceDatabits"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"8"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3ParityTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceParity"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option :Tff7b72valueTff7b72=Ta5d6ff"undefined"Tff7b72>Tff7b72NoneTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"even"Tff7b72>Te6edf3EvenTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"odd"Tff7b72>Te6edf3OddTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3StopbitsTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceStopbits"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"1"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3KISS Tff7b72and Te6edf3AXT79c0ff.25 Te6edf3KISS Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['KISSInterface', 'AX25KISSInterface'].includes(newInterfaceType)" Tff7b72classTff7b72=Ta5d6ff"mb-4"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-center mb-2"Tff7b72>
Tff7b72<Te6edf3Toggle
Te6edf3idTff7b72=Ta5d6ff"use-ax25"
:Te6edf3modelTff7b72-Tff7b72valueTff7b72=Ta5d6ff"newInterfaceType === 'AX25KISSInterface'"
Te6edf3@update:Te6edf3modelTff7b72-Tff7b72valueTff7b72=Ta5d6ff"useKISSAX25"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72forTff7b72=Ta5d6ff"use-ax25" Tff7b72classTff7b72=Ta5d6ff"ml-2"Tff7b72>Te6edf3Enable Te6edf3AXT79c0ff.25 Te6edf3FramingTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"grid grid-cols-2 gap-4"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Preamble Tb4b4b4(Te6edf3millisecondsTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfacePreamble"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"150"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3TX Te6edf3Tail Tb4b4b4(Te6edf3millisecondsTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceTXTail"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"10"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3CDMA Te6edf3Persistence Tb4b4b4(Te6edf3millisecondsTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfacePersistence"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"200"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3CDMA Te6edf3Slot T56d364Time Tb4b4b4(Te6edf3millisecondsTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceSlotTime"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"20"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-center space-x-4 mt-4"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3SSIDTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceSSID"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tff7b72valueTff7b72=Ta5d6ff"0"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter SSID"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3CallsignTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceCallsign"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter callsign"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Callsign Te6edf3ID Tff7b72IntervalTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceIDInterval"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter interval (seconds)"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3Pipe Te6edf3Interface Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'PipeInterface'" Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-300 mb-3"Tff7b72>
ⓘ Tff7b72Using Te6edf3this Te6edf3interfaceTb4b4b4, Te6edf3Reticulum Te6edf3can Tff7b72use Tff7b72any Te6edf3program Tff7b72as Te6edf3an Te6edf3interface Te6edf3via Te6edf3stdin Tff7b72and Te6edf3stdoutTb4b4b4.
Te6edf3This Te6edf3can Te6edf3be Te6edf3usedto Te6edf3easily Tff7b72create Te6edf3virtual Te6edf3interfacesTb4b4b4, Tff7b72or Tff7b72to Te6edf3interface Tff7b72with Te6edf3custom Te6edf3hardware Tff7b72or
Te6edf3other Te6edf3systemsTb4b4b4.
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"mb-2"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3CommandTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceCommand"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: netcat -l 5757"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Respawn Te6edf3Delay Tb4b4b4(Te6edf3secondsTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceRespawnDelay"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"5"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3RNodeInterface Te6edf3bitrate Tff7b72& Te6edf3link Te6edf3budget Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSection Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['RNodeInterface', 'RNodeIPInterface'].includes(newInterfaceType)"Tff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3Calculated Te6edf3RNode Te6edf3Bitrate Tff7b72& Te6edf3Link Te6edf3BudgetTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-3"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Antenna Te6edf3Gain Tb4b4b4(Te6edf3dBiTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"RNodeInterfaceLoRaParameters.antennaGain"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter gain"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-gray-400 mt-1"Tff7b72>
ⓘ Te6edf3A Te6edf3stub Tff7b72or Te6edf3PCB Te6edf3antenna Te6edf3might Te6edf3have Te6edf3around T79c0ff1 Te6edf3dBi Tff7b72of Te6edf3gainTb4b4b4, Tff7b72where Te6edf3a Te6edf3directional Te6edf3Yagi Te6edf3might
Te6edf3have T79c0ff5 Te6edf3dBi Tff7b72of Te6edf3gainTb4b4b4.
Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Tff7b72OnTff7b72-Te6edf3Air Te6edf3CalculationsTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-3 gap-2 text-center"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"bg-gray-100 p-3 rounded-lg border dark:bg-zinc-800 dark:border-zinc-600"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-sm font-medium text-gray-700 dark:text-gray-300"Tff7b72>Te6edf3SensitivityTff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white"Tff7b72>
{{ Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3sensitivity Tff7b72?Tff7b72? Ta5d6ff"???" }}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"bg-gray-100 p-3 rounded-lg border dark:bg-zinc-800 dark:border-zinc-600"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-sm font-medium text-gray-700 dark:text-gray-300"Tff7b72>Tff7b72Data Te6edf3RateTff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white"Tff7b72>
{{ Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3dataRate Tff7b72?Tff7b72? Ta5d6ff"???" }}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"bg-gray-100 p-3 rounded-lg border dark:bg-zinc-800 dark:border-zinc-600"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-sm font-medium text-gray-700 dark:text-gray-300"Tff7b72>Te6edf3Link Te6edf3BudgetTff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white"Tff7b72>
{{ Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3linkBudget Tff7b72?Tff7b72? Ta5d6ff"???" }}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3optional Te6edf3AutoInterface Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSection Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'AutoInterface'"Tff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3Optional Te6edf3AutoInterface Te6edf3SettingsTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-3"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Tff7b72Group Te6edf3IDTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceGroupID"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"reticulum"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Multicast Te6edf3Address Te6edf3TypeTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceMulticastAddressType"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option :Tff7b72valueTff7b72=Ta5d6ff"undefined"Tff7b72>Tb4b4b4(Tff7b72not Tff7b72setTb4b4b4)Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"permanent"Tff7b72>Te6edf3PermanentTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"temporary"Tff7b72>Tff7b72TemporaryTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-center space-x-4 mt-4"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Network Te6edf3devicesTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceDevices"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: wlan0,eth1"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Ignored Te6edf3DevicesTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceIgnoredDevices"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: tun0,eth0"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-center space-x-4 mt-4"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Discovery Tff7b72ScopeTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceDiscoveryScope"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72>
Tff7b72<Tff7b72option :Tff7b72valueTff7b72=Ta5d6ff"undefined"Tff7b72>Tb4b4b4(Tff7b72not Tff7b72setTb4b4b4)Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"global"Tff7b72>Tff7b72GlobalTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"admin"Tff7b72>Tff7b72AdminTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"organisation"Tff7b72>Te6edf3OrganisationTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"site"Tff7b72>Te6edf3SiteTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"link"Tff7b72>Te6edf3LinkTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Discovery Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceDiscoveryPort"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"48555"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Tff7b72Data Te6edf3PortTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceDataPort"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"49555"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3optional Te6edf3TCPClientInterface Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSection Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'TCPClientInterface'"Tff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3Optional Te6edf3TCPClientInterface Te6edf3SettingsTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-3"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex flex-col mr-auto"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72forTff7b72=Ta5d6ff"kiss-framing"Tff7b72>Te6edf3Enable Te6edf3KISS Te6edf3FramingTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-300"
Tff7b72>Te6edf3Enable Te6edf3this Tff7b72when Te6edf3connecting Tff7b72to Te6edf3software Te6edf3that Te6edf3uses Te6edf3KISS Te6edf3framing Te6edf3such Tff7b72as Te6edf3packet Te6edf3radio
Te6edf3sound Te6edf3modemsTb4b4b4. Tff7b72For Te6edf3KISS Te6edf3connections Te6edf3through Te6edf3serial Te6edf3hardware Tff7b72select Ta5d6ff"KISS Interface"
Tff7b72as Te6edf3the Te6edf3interface Te6edf3typeTb4b4b4.Tff7b72<Tff7b72/Te6edf3span
Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3Toggle Te6edf3idTff7b72=Ta5d6ff"kiss-framing" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceKISSFramingEnabled" Tff7b72classTff7b72=Ta5d6ff"my-auto mx-2" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex flex-col mr-auto"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72forTff7b72=Ta5d6ff"i2p-tunneled"Tff7b72>Te6edf3Enable Te6edf3I2P Te6edf3tunnelingTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-300"
Tff7b72>Te6edf3Enables Te6edf3tunnelling Te6edf3through Te6edf3an Te6edf3I2P Tff7b72Connection Tff7b72using Te6edf3the Te6edf3TCPClientInterfaceTff7b72<Tff7b72/Te6edf3span
Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3Toggle Te6edf3idTff7b72=Ta5d6ff"i2p-tunneled" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceI2PTunnelingEnabled" Tff7b72classTff7b72=Ta5d6ff"my-auto mx-2" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3optional Te6edf3TCPClientInterface Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSection Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'TCPServerInterface'"Tff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3Optional Te6edf3TCPServerInterface Te6edf3settingsTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-3"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabelTff7b72>Te6edf3Network Te6edf3deviceTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-300"
Tff7b72>Te6edf3Binds Te6edf3the Te6edf3interface Tff7b72to Te6edf3a Tff7b72specific Te6edf3network Te6edf3interfaceTff7b72<Tff7b72/Te6edf3span
Tff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceNetworkDevice"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: eth0"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-start"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex flex-col mr-auto"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72forTff7b72=Ta5d6ff"prefer-ipv6"Tff7b72>Te6edf3Prefer Te6edf3IPv6Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-300"
Tff7b72>Te6edf3Binds Te6edf3the Te6edf3TCP Te6edf3Server Te6edf3Interface Tff7b72to Te6edf3an Te6edf3IPv6 Te6edf3addressTff7b72<Tff7b72/Te6edf3span
Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3Toggle Te6edf3idTff7b72=Ta5d6ff"prefer-ipv6" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfacePreferIPV6" Tff7b72classTff7b72=Ta5d6ff"my-auto mx-2" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3optional Te6edf3UDPInterface Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSection Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"newInterfaceType === 'UDPInterface'"Tff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3Optional Te6edf3UDPInterface Te6edf3settingsTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-3"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabelTff7b72>Te6edf3Network Te6edf3deviceTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-300"
Tff7b72>Te6edf3Binds Te6edf3the Te6edf3interface Tff7b72to Te6edf3a Tff7b72specific Te6edf3network Te6edf3interfaceTff7b72<Tff7b72/Te6edf3span
Tff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceNetworkDevice"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"e.g: eth0"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3optional Te6edf3RNodeInterface Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSection Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"['RNodeInterface', 'RNodeIPInterface'].includes(newInterfaceType)"Tff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3Optional Te6edf3RNodeInterface Te6edf3SettingsTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-3"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-center space-x-4"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3CallsignTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceCallsign"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter callsign"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Callsign Te6edf3ID Tff7b72IntervalTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceIDInterval"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter interval (seconds)"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex items-center space-x-4"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Airtime Tff7b72Limit Tb4b4b4(Te6edf3ShortTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceAirtimeLimitShort"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter short airtime limit (% of a rolling 15 seconds window)"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"flex-1"Tff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Airtime Tff7b72Limit Tb4b4b4(Te6edf3LongTb4b4b4)Tff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"newInterfaceAirtimeLimitLong"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter long airtime limit (% of a rolling 60 minutes window)"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3optional Te6edf3interface Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSectionTff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3Optional Te6edf3Interface Te6edf3SettingsTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 space-y-3"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Interface Te6edf3ModeTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72select
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"sharedInterfaceSettings.mode"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72>
Tff7b72<Tff7b72option :Tff7b72valueTff7b72=Ta5d6ff"undefined"Tff7b72>Tb4b4b4(Tff7b72not Tff7b72setTb4b4b4)Tff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"full"Tff7b72>Tff7b72FullTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"gateway"Tff7b72>Te6edf3GatewayTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"access_point"Tff7b72>Te6edf3Access Te6edf3PointTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"roaming"Tff7b72>Te6edf3RoamingTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72option Tff7b72valueTff7b72=Ta5d6ff"boundary"Tff7b72>Te6edf3BoundaryTff7b72<Tff7b72/Tff7b72optionTff7b72>
Tff7b72<Tff7b72/Tff7b72selectTff7b72>
Tff7b72<Te6edf3FormSubLabelTff7b72>
Te6edf3This Te6edf3setting Te6edf3requires Te6edf3Transport Te6edf3Mode Tff7b72to Te6edf3be Te6edf3enabledTb4b4b4.
Tff7b72<Te6edf3a
Tff7b72classTff7b72=Ta5d6ff"text-blue-500 underline"
Te6edf3hrefTff7b72=Ta5d6ff"/reticulum-docs/interfaces.html#interface-modes"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Tff7b72>Te6edf3Reticulum Te6edf3DocsTb4b4b4: Te6edf3Interface Te6edf3ModesTff7b72<Tff7b72/Te6edf3a
Tff7b72>
Tff7b72<Tff7b72/Te6edf3FormSubLabelTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Inferred Te6edf3Interface Te6edf3BitrateTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"sharedInterfaceSettings.bitrate"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter inferred bitrate"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Te6edf3ifac Te6edf3settings Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3ExpandingSectionTff7b72>
Tff7b72<Te6edf3template Te6edf3#titleTff7b72>Te6edf3IFAC Te6edf3SettingsTff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3template Te6edf3#contentTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-300 mb-2"Tff7b72>
ⓘ Te6edf3Interface Te6edf3Access Te6edf3Code Te6edf3settings Tff7b72are Te6edf3used Tff7b72for Te6edf3creating Te6edf3private Te6edf3networks Tff7b72and Te6edf3can Te6edf3be
Te6edf3configured Tff7b72on Te6edf3the Te6edf3interface Tff7b72levelTb4b4b4.
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"grid grid-cols-1 lg:grid-cols-3 gap-y-2 lg:gap-x-2"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3Network Te6edf3NameTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"sharedInterfaceSettings.network_name"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter network name"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3PassphraseTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"sharedInterfaceSettings.passphrase"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter passphrase"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3FormLabel Tff7b72classTff7b72=Ta5d6ff"mb-1"Tff7b72>Te6edf3IFAC Tff7b72SizeTff7b72<Tff7b72/Te6edf3FormLabelTff7b72>
Tff7b72<Tff7b72input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"sharedInterfaceSettings.ifac_size"
Te6edf3typeTff7b72=Ta5d6ff"number"
Td2a8ffminTff7b72=Ta5d6ff"8"
Td2a8ffmaxTff7b72=Ta5d6ff"512"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter size (8-512)"
Tff7b72classTff7b72=Ta5d6ff"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-zinc-900 dark:border-zinc-600 dark:text-white"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ExpandingSectionTff7b72>
Tff7b72<!Tff7b72-Tff7b72- Tff7b72addTff7b72/Tff7b72save Te6edf3interface Te6edf3button Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"p-2 bg-white rounded shadow divide-y divide-gray-200 dark:bg-zinc-900"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tff7b72classTff7b72=Ta5d6ff"bg-green-500 hover:bg-green-400 focus-visible:outline-green-500 my-auto inline-flex items-center gap-x-1 rounded-md p-2 text-sm font-semibold text-white shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 dark:text-white dark:focus:ring-blue-600 dark:focus:border-blue-600"
Te6edf3@clickTff7b72=Ta5d6ff"addInterface"
Tff7b72>
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"isEditingInterface"Tff7b72>Tff7b72Save Te6edf3InterfaceTff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72elseTff7b72>Tff7b72Add Te6edf3InterfaceTff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3scriptTff7b72>
Te6edf3import Te6edf3Utils Tff7b72from Ta5d6ff"../../js/Utils"Tb4b4b4;
Te6edf3import Te6edf3DialogUtils Tff7b72from Ta5d6ff"../../js/DialogUtils"Tb4b4b4;
Te6edf3import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../../js/ToastUtils"Tb4b4b4;
Te6edf3import Te6edf3ExpandingSection Tff7b72from Ta5d6ff"./ExpandingSection.vue"Tb4b4b4;
Te6edf3import Te6edf3FormLabel Tff7b72from Ta5d6ff"../forms/FormLabel.vue"Tb4b4b4;
Te6edf3import Te6edf3FormSubLabel Tff7b72from Ta5d6ff"../forms/FormSubLabel.vue"Tb4b4b4;
Te6edf3import Te6edf3Toggle Tff7b72from Ta5d6ff"../forms/Toggle.vue"Tb4b4b4;
Te6edf3import Te6edf3GlobalState Tff7b72from Ta5d6ff"../../js/GlobalState"Tb4b4b4;
Te6edf3export Tff7b72default {
Te6edf3nameTb4b4b4: Ta5d6ff"AddInterfacePage"Tb4b4b4,
Te6edf3componentsTb4b4b4: {
Te6edf3FormSubLabelTb4b4b4,
Te6edf3FormLabelTb4b4b4,
Te6edf3ExpandingSectionTb4b4b4,
Te6edf3ToggleTb4b4b4,
}Tb4b4b4,
Tff7b72dataTb4b4b4(Tb4b4b4) {
Tff7b72return {
Te6edf3isEditingInterfaceTb4b4b4: Tff7b72falseTb4b4b4,
Te6edf3configTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3communityInterfacesTb4b4b4: []Tb4b4b4,
Te6edf3comportsTb4b4b4: []Tb4b4b4,
Te6edf3newInterfaceNameTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceTypeTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceGroupIDTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceMulticastAddressTypeTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceDevicesTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceIgnoredDevicesTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceDiscoveryScopeTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceDiscoveryPortTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceDataPortTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceTargetHostTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceTargetPortTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceListenIpTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceListenPortTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceNetworkDeviceTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfacePreferIPV6Tb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceKISSFramingEnabledTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceI2PTunnelingEnabledTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3sharedInterfaceSettingsTb4b4b4: {
Te6edf3modeTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3network_nameTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3passphraseTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3ifac_sizeTb4b4b4: Tff7b72nullTb4b4b4,
}Tb4b4b4,
Te6edf3newInterfaceForwardIpTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceForwardPortTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3I2PSettingsTb4b4b4: {
Te6edf3newInterfacePeersTb4b4b4: []Tb4b4b4,
}Tb4b4b4,
Te6edf3RNodeMultiInterfaceTb4b4b4: {
Te6edf3portTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3subInterfacesTb4b4b4: []Tb4b4b4,
}Tb4b4b4,
Te6edf3newInterfacePortTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceRNodeUseIPTb4b4b4: Tff7b72falseTb4b4b4,
Te6edf3newInterfaceRNodeIPHostTb4b4b4: Ta5d6ff"localhost"Tb4b4b4,
Te6edf3newInterfaceRNodeIPPortTb4b4b4: Ta5d6ff"7633"Tb4b4b4,
Te6edf3RNodeGHzValueTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3RNodeMHzValueTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3RNodekHzValueTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3newInterfaceFrequencyTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceBandwidthTb4b4b4: T79c0ff125000Tb4b4b4,
Te6edf3newInterfaceTxpowerTb4b4b4: T79c0ff7Tb4b4b4,
Te6edf3newInterfaceSpreadingFactorTb4b4b4: T79c0ff12Tb4b4b4,
Te6edf3newInterfaceCodingRateTb4b4b4: T79c0ff5Tb4b4b4,
Tff7b72/Tff7b72/ Te6edf3SerialTb4b4b4, Te6edf3KISSTb4b4b4, Tff7b72and Te6edf3AX25KISS Te6edf3options
Te6edf3newInterfaceSpeedTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceDatabitsTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceParityTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceStopbitsTb4b4b4: Tff7b72nullTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3KISS Tff7b72and Te6edf3AX25KISS
Te6edf3newInterfacePreambleTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceTXTailTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfacePersistenceTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceSlotTimeTb4b4b4: Tff7b72nullTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3RNode Tff7b72and Te6edf3KISS
Te6edf3newInterfaceCallsignTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceIDIntervalTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceFlowControlTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceAirtimeLimitLongTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceAirtimeLimitShortTb4b4b4: Tff7b72nullTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3Pipe Te6edf3interface
Te6edf3newInterfaceCommandTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3newInterfaceRespawnDelayTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3RNodeInterfaceDefaultsTb4b4b4: {
Tff7b72/Tff7b72/ Te6edf3bandwidth Tff7b72in Te6edf3hz
Te6edf3bandwidthsTb4b4b4: Tff7b72[
Te6edf3 7800, // 7.8 kHz
10400, // 10.4 kHz
15600, // 15.6 kHz
20800, // 20.8 kHz
31250, // 31.25 kHz
41700, // 41.7 kHz
62500, // 62.5 kHz
125000, // 125 kHz
250000, // 250 kHz
500000, // 500 kHz
1625000, // 1625 kHz (for 2.4 GHz SX1280)
Tff7b72]Tb4b4b4,
Te6edf3codingratesTb4b4b4: Tff7b72[
Te6edf3 5, // 4:5
6, // 4:6
7, // 4:7
8, // 4:8
Tff7b72]Tb4b4b4,
Te6edf3spreadingfactorsTb4b4b4: Tff7b72[Te6edf35, 6, 7, 8, 9, 10, 11, 12Tff7b72]Tb4b4b4,
}Tb4b4b4,
Te6edf3RNodeInterfaceLoRaParametersTb4b4b4: {
Te6edf3antennaGainTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3noiseFloorTb4b4b4: T79c0ff5Tb4b4b4,
Te6edf3sensitivityTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3dataRateTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3linkBudgetTb4b4b4: Tff7b72nullTb4b4b4,
}Tb4b4b4,
}Tb4b4b4;
}Tb4b4b4,
Te6edf3computedTb4b4b4: {
Te6edf3formattedFrequencyTb4b4b4(Tb4b4b4) {
Te6edf3const Te6edf3totalHz Tff7b72= Te6edf3thisTb4b4b4.Te6edf3calculateFrequencyInHzTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3totalHz Tff7b72>= T79c0ff1e9Tb4b4b4) {
Tff7b72return `${Tb4b4b4(Te6edf3totalHz Tff7b72/ T79c0ff1e9Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff3Tb4b4b4)} Te6edf3GHz`Tb4b4b4;
} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3totalHz Tff7b72>= T79c0ff1e6Tb4b4b4) {
Tff7b72return `${Tb4b4b4(Te6edf3totalHz Tff7b72/ T79c0ff1e6Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff3Tb4b4b4)} Te6edf3MHz`Tb4b4b4;
} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3totalHz Tff7b72>= T79c0ff1e3Tb4b4b4) {
Tff7b72return `${Tb4b4b4(Te6edf3totalHz Tff7b72/ T79c0ff1e3Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff3Tb4b4b4)} Te6edf3kHz`Tb4b4b4;
}
Tff7b72return `${Te6edf3totalHz} Te6edf3Hz`Tb4b4b4;
}Tb4b4b4,
}Tb4b4b4,
Te6edf3watchTb4b4b4: {
Te6edf3newInterfaceBandwidthTb4b4b4: Ta5d6ff"updateRNodeCalculations"Tb4b4b4,
Te6edf3newInterfaceSpreadingFactorTb4b4b4: Ta5d6ff"updateRNodeCalculations"Tb4b4b4,
Te6edf3newInterfaceCodingRateTb4b4b4: Ta5d6ff"updateRNodeCalculations"Tb4b4b4,
Te6edf3newInterfaceTxpowerTb4b4b4: Ta5d6ff"updateRNodeCalculations"Tb4b4b4,
Ta5d6ff"RNodeInterfaceLoRaParameters.antennaGain": Ta5d6ff"updateRNodeCalculations"Tb4b4b4,
}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3getConfigTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3loadComportsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72/Tff7b72/ Tff7b72check Tff7b72if Te6edf3we Tff7b72are Te6edf3editing Te6edf3an Te6edf3interface
Te6edf3const Te6edf3interfaceName Tff7b72= Te6edf3thisTb4b4b4.$Te6edf3routeTb4b4b4.Te6edf3queryTb4b4b4.Te6edf3interface_nameTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3interfaceName Tff7b72!= Tff7b72nullTb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3isEditingInterface Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3loadInterfaceToEditTb4b4b4(Te6edf3interfaceNameTb4b4b4)Tb4b4b4;
}
}Tb4b4b4,
Te6edf3methodsTb4b4b4: {
Te6edf3async Te6edf3getConfigTb4b4b4(Tb4b4b4) {
Tff7b72try {
Te6edf3const Te6edf3response Tff7b72= Te6edf3await Tff7b72windowTb4b4b4.Te6edf3axiosTb4b4b4.Tff7b72getTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3config`Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3responseTb4b4b4.Tff7b72dataTb4b4b4.Te6edf3configTb4b4b4;
} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) {
Tff7b72/Tff7b72/ Te6edf3do Te6edf3nothing Tff7b72if Te6edf3failed Tff7b72to Tff7b72load Te6edf3config
Te6edf3consoleTb4b4b4.Td2a8fflogTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
}
}Tb4b4b4,
Te6edf3async Te6edf3updateConfigTb4b4b4(Te6edf3configTb4b4b4) {
Tff7b72try {
Te6edf3const Te6edf3response Tff7b72= Te6edf3await Tff7b72windowTb4b4b4.Te6edf3axiosTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Te6edf3configTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3responseTb4b4b4.Tff7b72dataTb4b4b4.Te6edf3configTb4b4b4;
} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) {
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to save config!"Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Td2a8fflogTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
}
}Tb4b4b4,
Te6edf3async Te6edf3loadComportsTb4b4b4(Tb4b4b4) {
Tff7b72try {
Te6edf3const Te6edf3response Tff7b72= Te6edf3await Tff7b72windowTb4b4b4.Te6edf3axiosTb4b4b4.Tff7b72getTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3comports`Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3comports Tff7b72= Te6edf3responseTb4b4b4.Tff7b72dataTb4b4b4.Te6edf3comportsTb4b4b4;
} Tff7b72catch {
Tff7b72/Tff7b72/ Te6edf3do Te6edf3nothing Tff7b72if Te6edf3failed Tff7b72to Tff7b72load Te6edf3interfaces
}
}Tb4b4b4,
Te6edf3async Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4) {
Tff7b72try {
Te6edf3const Te6edf3response Tff7b72= Te6edf3await Tff7b72windowTb4b4b4.Te6edf3axiosTb4b4b4.Tff7b72getTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3communityTff7b72-Te6edf3interfaces`Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3communityInterfaces Tff7b72= Te6edf3responseTb4b4b4.Tff7b72dataTb4b4b4.Te6edf3interfacesTb4b4b4;
} Tff7b72catch {
Tff7b72/Tff7b72/ Te6edf3do Te6edf3nothing Tff7b72if Te6edf3failed Tff7b72to Tff7b72load Te6edf3interfaces
}
}Tb4b4b4,
Te6edf3async Te6edf3loadInterfaceToEditTb4b4b4(Te6edf3interfaceNameTb4b4b4) {
Tff7b72try {
Tff7b72/Tff7b72/ Tff7b72fetch Te6edf3interfaces
Te6edf3const Te6edf3response Tff7b72= Te6edf3await Tff7b72windowTb4b4b4.Te6edf3axiosTb4b4b4.Tff7b72getTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3reticulumTff7b72/Te6edf3interfaces`Tb4b4b4)Tb4b4b4;
Te6edf3const Te6edf3interfaces Tff7b72= Te6edf3responseTb4b4b4.Tff7b72dataTb4b4b4.Te6edf3interfacesTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3find Te6edf3interfaceTb4b4b4, Tff7b72else Te6edf3show Te6edf3error Tff7b72and Te6edf3redirect Tff7b72to Te6edf3interfaces
Te6edf3const Te6edf3iface Tff7b72= Te6edf3interfacesTff7b72[Te6edf3interfaceNameTff7b72]Tb4b4b4;
Tff7b72if Tb4b4b4(!Te6edf3ifaceTb4b4b4) {
Te6edf3DialogUtilsTb4b4b4.Te6edf3alertTb4b4b4(Ta5d6ff"The selected interface for editing could not be found."Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.$Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4({
Te6edf3nameTb4b4b4: Ta5d6ff"interfaces"Tb4b4b4,
}Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
}
Tff7b72/Tff7b72/ Tff7b72set Te6edf3form Tff7b72values
Te6edf3thisTb4b4b4.Te6edf3newInterfaceName Tff7b72= Te6edf3interfaceNameTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceType Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3AutoInterface Te6edf3additional Te6edf3settings
Te6edf3thisTb4b4b4.Te6edf3newInterfaceGroupID Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3group_idTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceMulticastAddressType Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3multicast_address_typeTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceDevices Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3devicesTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceIgnoredDevices Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3ignored_devicesTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceDiscoveryScope Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3discovery_scopeTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceDiscoveryPort Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3discovery_portTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceDataPort Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3data_portTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3tcp Te6edf3client Te6edf3interface
Te6edf3thisTb4b4b4.Te6edf3newInterfaceTargetHost Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3target_hostTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceTargetPort Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3target_portTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3kiss_framingTb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3newInterfaceKISSFramingEnabled Tff7b72= Tff7b72trueTb4b4b4;
}
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3i2p_tunneledTb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3newInterfaceI2PTunnelingEnabled Tff7b72= Tff7b72trueTb4b4b4;
}
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3prefer_ipv6Tb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3newInterfacePreferIPV6 Tff7b72= Tff7b72trueTb4b4b4;
}
Tff7b72/Tff7b72/ Te6edf3tcp Te6edf3server Te6edf3interface Tff7b72& Te6edf3udp Te6edf3interface
Te6edf3thisTb4b4b4.Te6edf3newInterfaceNetworkDevice Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3deviceTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceListenIp Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3listen_ipTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceListenPort Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3listen_portTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3I2P Te6edf3Interface
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3peersTb4b4b4) {
Te6edf3const Te6edf3peersToAdd Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3peersTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff","Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Te6edf3const Te6edf3address Tff7b72of Te6edf3peersToAddTb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3addI2PPeerTb4b4b4(Te6edf3addressTb4b4b4)Tb4b4b4;
}
}
Tff7b72/Tff7b72/ Te6edf3udp Te6edf3interface
Te6edf3thisTb4b4b4.Te6edf3newInterfaceForwardIp Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3forward_ipTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceForwardPort Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3forward_portTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3Port Tb4b4b4(Tff7b72For Te6edf3RNodeTb4b4b4, Te6edf3SerialTb4b4b4, Tff7b72and Te6edf3KISSTb4b4b4)
Te6edf3thisTb4b4b4.Te6edf3newInterfacePort Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3type Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"RNodeInterface" Tff7b72&Tff7b72& Te6edf3ifaceTb4b4b4.Te6edf3port Tff7b72&Tff7b72& Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"tcp://"Tb4b4b4)Tb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3newInterfaceType Tff7b72= Ta5d6ff"RNodeIPInterface"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceRNodeUseIP Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3const Te6edf3address Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4.Td2a8ffreplaceTb4b4b4(Ta5d6ff"tcp://"Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Te6edf3const Te6edf3parts Tff7b72= Te6edf3addressTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff":"Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceRNodeIPHost Tff7b72= Te6edf3partsTff7b72[Te6edf30Tff7b72]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceRNodeIPPort Tff7b72= Te6edf3partsTff7b72[Te6edf31Tff7b72] Tff7b72|Tff7b72| Ta5d6ff"7633"Tb4b4b4;
}
Tff7b72/Tff7b72/ Te6edf3RNode Te6edf3Interface
Te6edf3thisTb4b4b4.Te6edf3newInterfaceFrequency Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3frequencyTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodeGHzValue Tff7b72= Te6edf3MathTb4b4b4.Td2a8fffloorTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3frequency Tff7b72/ T79c0ff1e9Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodeMHzValue Tff7b72= Te6edf3MathTb4b4b4.Td2a8fffloorTb4b4b4(Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3frequency Tff7b72% T79c0ff1e9Tb4b4b4) Tff7b72/ T79c0ff1e6Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodekHzValue Tff7b72= Te6edf3MathTb4b4b4.Td2a8fffloorTb4b4b4(Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3frequency Tff7b72% T79c0ff1e6Tb4b4b4) Tff7b72/ T79c0ff1e3Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceBandwidth Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3bandwidthTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceTxpower Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3txpowerTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceSpreadingFactor Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3spreadingfactorTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceCodingRate Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3codingrateTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3RNode Te6edf3Multi Te6edf3Interface
Te6edf3thisTb4b4b4.Te6edf3RNodeMultiInterfaceTb4b4b4.Te6edf3subInterfaces Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3sub_interfacesTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3SerialTb4b4b4, Te6edf3KISSTb4b4b4, Tff7b72and Te6edf3AX25KISS
Te6edf3thisTb4b4b4.Te6edf3newInterfaceSpeed Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3speedTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceDatabits Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3databitsTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceParity Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3parityTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceStopbits Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3stopbitsTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfacePreamble Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3preambleTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceTXTail Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3txtailTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfacePersistence Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3persistenceTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceSlotTime Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3slottimeTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceCallsign Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3callsignTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceIDInterval Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3id_intervalTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceSSID Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3ssidTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3Airtime Tff7b72limit
Te6edf3thisTb4b4b4.Te6edf3newInterfaceAirtimeLimitLong Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3airtime_limit_longTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceAirtimeLimitShort Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3airtime_limit_shortTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3Pipe Te6edf3Interface
Te6edf3thisTb4b4b4.Te6edf3newInterfaceCommand Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3commandTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3newInterfaceRespawnDelay Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3respawn_delayTb4b4b4;
Tff7b72/Tff7b72/ Te6edf3Shared Te6edf3interface Te6edf3settings
Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3mode Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3modeTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3bitrate Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3bitrateTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3network_name Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3network_nameTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3passphrase Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3passphraseTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3ifac_size Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3ifac_sizeTb4b4b4;
} Tff7b72catch {
Tff7b72/Tff7b72/ Te6edf3do Te6edf3nothing Tff7b72if Te6edf3failed Tff7b72to Tff7b72load Te6edf3interfaces
}
}Tb4b4b4,
Te6edf3async Te6edf3addInterfaceTb4b4b4(Tb4b4b4) {
Tff7b72try {
Tff7b72/Tff7b72/ Te6edf3process Te6edf3sub Te6edf3interfaces Tff7b72for Te6edf3RNodeMultiInterface
Te6edf3let Te6edf3subInterfacesData Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3newInterfaceType Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"RNodeMultiInterface"Tb4b4b4) {
Te6edf3subInterfacesData Tff7b72= Te6edf3thisTb4b4b4.Te6edf3RNodeMultiInterfaceTb4b4b4.Te6edf3subInterfacesTb4b4b4.Tff7b72mapTb4b4b4(Tb4b4b4(Te6edf3subInterfaceTb4b4b4) Tff7b72=Tff7b72> {
Tff7b72return {
Te6edf3nameTb4b4b4: Te6edf3subInterfaceTb4b4b4.Te6edf3nameTb4b4b4,
Te6edf3frequencyTb4b4b4: Te6edf3subInterfaceTb4b4b4.Te6edf3frequencyTb4b4b4,
Te6edf3bandwidthTb4b4b4: Te6edf3subInterfaceTb4b4b4.Te6edf3bandwidthTb4b4b4,
Te6edf3txpowerTb4b4b4: Te6edf3subInterfaceTb4b4b4.Te6edf3txpowerTb4b4b4,
Te6edf3spreadingfactorTb4b4b4: Te6edf3subInterfaceTb4b4b4.Te6edf3spreadingfactorTb4b4b4,
Te6edf3codingrateTb4b4b4: Te6edf3subInterfaceTb4b4b4.Te6edf3codingrateTb4b4b4,
Te6edf3vportTb4b4b4: Te6edf3subInterfaceTb4b4b4.Te6edf3vportTb4b4b4,
}Tb4b4b4;
}Tb4b4b4)Tb4b4b4;
}
Tff7b72/Tff7b72/ Tff7b72add Te6edf3interface
Te6edf3const Te6edf3response Tff7b72= Te6edf3await Tff7b72windowTb4b4b4.Te6edf3axiosTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3reticulumTff7b72/Te6edf3interfacesTff7b72/Tff7b72add`Tb4b4b4, {
Te6edf3allow_overwriting_interfaceTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3isEditingInterfaceTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3required Tff7b72values
Te6edf3nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceNameTb4b4b4,
Te6edf3typeTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceTypeTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3AutoInterface
Te6edf3group_idTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceGroupIDTb4b4b4,
Te6edf3multicast_address_typeTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceMulticastAddressTypeTb4b4b4,
Te6edf3devicesTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceDevicesTb4b4b4,
Te6edf3ignored_devicesTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceIgnoredDevicesTb4b4b4,
Te6edf3discovery_scopeTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceDiscoveryScopeTb4b4b4,
Te6edf3discovery_portTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceDiscoveryPortTb4b4b4,
Te6edf3data_portTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceDataPortTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3tcp Te6edf3client Te6edf3interface
Te6edf3target_hostTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceTargetHostTb4b4b4,
Te6edf3target_portTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceTargetPortTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3TCP Te6edf3Client Tff7b72& Te6edf3Server Te6edf3interface
Te6edf3kiss_framingTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceKISSFramingEnabledTb4b4b4,
Te6edf3i2p_tunneledTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceI2PTunnelingEnabledTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3tcp Te6edf3server Te6edf3interface Tff7b72& Te6edf3udp Te6edf3interface
Te6edf3listen_ipTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceListenIpTb4b4b4,
Te6edf3listen_portTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceListenPortTb4b4b4,
Te6edf3deviceTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceNetworkDeviceTb4b4b4,
Te6edf3prefer_ipv6Tb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfacePreferIPV6Tb4b4b4,
Tff7b72/Tff7b72/ Te6edf3udp Te6edf3interface
Te6edf3forward_ipTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceForwardIpTb4b4b4,
Te6edf3forward_portTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceForwardPortTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3I2P Te6edf3Interface
Te6edf3peersTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3I2PSettingsTb4b4b4.Te6edf3newInterfacePeersTb4b4b4.Tff7b72joinTb4b4b4(Ta5d6ff","Tb4b4b4)Tb4b4b4,
Tff7b72/Tff7b72/ Te6edf3rnode Te6edf3interface
Te6edf3portTb4b4b4:
Te6edf3thisTb4b4b4.Te6edf3newInterfaceRNodeUseIP Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3newInterfaceType Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"RNodeIPInterface"
Tff7b72? `Te6edf3tcpTb4b4b4:Tff7b72/Tff7b72/${Te6edf3thisTb4b4b4.Te6edf3newInterfaceRNodeIPHost}:${Te6edf3thisTb4b4b4.Te6edf3newInterfaceRNodeIPPort}`
: Te6edf3thisTb4b4b4.Te6edf3newInterfacePortTb4b4b4,
Te6edf3frequencyTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3calculateFrequencyInHzTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3bandwidthTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceBandwidthTb4b4b4,
Te6edf3txpowerTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceTxpowerTb4b4b4,
Te6edf3spreadingfactorTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceSpreadingFactorTb4b4b4,
Te6edf3codingrateTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceCodingRateTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3RNode Te6edf3Multi Te6edf3Interface
Te6edf3sub_interfacesTb4b4b4: Te6edf3subInterfacesDataTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3SeiralTb4b4b4, Te6edf3KISSTb4b4b4, Tff7b72and Te6edf3AX25KISS
Te6edf3speedTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceSpeedTb4b4b4,
Te6edf3databitsTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceDatabitsTb4b4b4,
Te6edf3parityTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceParityTb4b4b4,
Te6edf3stopbitsTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceStopbitsTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3KISS Tff7b72and Te6edf3AX25KISS
Te6edf3preambleTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfacePreambleTb4b4b4,
Te6edf3txtailTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceTXTailTb4b4b4,
Te6edf3persistenceTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfacePersistenceTb4b4b4,
Te6edf3slottimeTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceSlotTimeTb4b4b4,
Te6edf3callsignTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceCallsignTb4b4b4,
Te6edf3id_intervalTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceIDIntervalTb4b4b4,
Te6edf3ssidTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceSSIDTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3Pipe Te6edf3interface
Te6edf3commandTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceCommandTb4b4b4,
Te6edf3respawn_delayTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceRespawnDelayTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3Airtime Tff7b72limit
Te6edf3airtime_limit_longTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceAirtimeLimitLongTb4b4b4,
Te6edf3airtime_limit_shortTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3newInterfaceAirtimeLimitShortTb4b4b4,
Tff7b72/Tff7b72/ Te6edf3settings Te6edf3that Te6edf3can Te6edf3be Te6edf3added Tff7b72to Tff7b72any Te6edf3interface Te6edf3type
Te6edf3modeTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3mode Tff7b72|Tff7b72| Ta5d6ff"full"Tb4b4b4,
Te6edf3bitrateTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3bitrateTb4b4b4,
Te6edf3network_nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3network_nameTb4b4b4,
Te6edf3passphraseTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3passphraseTb4b4b4,
Te6edf3ifac_sizeTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3sharedInterfaceSettingsTb4b4b4.Te6edf3ifac_sizeTb4b4b4,
}Tb4b4b4)Tb4b4b4;
Tff7b72/Tff7b72/ Te6edf3show Te6edf3success Te6edf3message
Tff7b72if Tb4b4b4(Te6edf3responseTb4b4b4.Tff7b72dataTb4b4b4.Te6edf3messageTb4b4b4) {
Te6edf3DialogUtilsTb4b4b4.Te6edf3alertTb4b4b4(Te6edf3responseTb4b4b4.Tff7b72dataTb4b4b4.Te6edf3messageTb4b4b4)Tb4b4b4;
}
Tff7b72/Tff7b72/ Te6edf3track Te6edf3change
Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChanges Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Tff7b72addTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3newInterfaceNameTb4b4b4)Tb4b4b4;
Tff7b72/Tff7b72/ Tff7b72go Tff7b72to Te6edf3interfaces Te6edf3page
Te6edf3thisTb4b4b4.$Te6edf3routerTb4b4b4.Te6edf3pushTb4b4b4({
Te6edf3nameTb4b4b4: Ta5d6ff"interfaces"Tb4b4b4,
}Tb4b4b4)Tb4b4b4;
} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) {
Te6edf3const Te6edf3message Tff7b72= Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Tff7b72dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72?Tff7b72? Ta5d6ff"failed to add interface"Tb4b4b4;
Te6edf3DialogUtilsTb4b4b4.Te6edf3alertTb4b4b4(Te6edf3messageTb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Td2a8fflogTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
}
}Tb4b4b4,
Te6edf3formatFrequencyTb4b4b4(Te6edf3hzTb4b4b4) {
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatFrequencyTb4b4b4(Te6edf3hzTb4b4b4)Tb4b4b4;
}Tb4b4b4,
Te6edf3calculateFrequencyInHzTb4b4b4(Tb4b4b4) {
Te6edf3const Te6edf3ghzToHz Tff7b72= Te6edf3thisTb4b4b4.Te6edf3RNodeGHzValue Tff7b72* T79c0ff1e9Tb4b4b4;
Te6edf3const Te6edf3mhzToHz Tff7b72= Te6edf3thisTb4b4b4.Te6edf3RNodeMHzValue Tff7b72* T79c0ff1e6Tb4b4b4;
Te6edf3const Te6edf3khzToHz Tff7b72= Te6edf3thisTb4b4b4.Te6edf3RNodekHzValue Tff7b72* T79c0ff1e3Tb4b4b4;
Tff7b72return Te6edf3ghzToHz Tff7b72+ Te6edf3mhzToHz Tff7b72+ Te6edf3khzToHzTb4b4b4;
}Tb4b4b4,
Te6edf3updateRNodeCalculationsTb4b4b4(Tb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3calculateRNodeParametersTb4b4b4(
Te6edf3thisTb4b4b4.Te6edf3newInterfaceBandwidthTb4b4b4,
Te6edf3thisTb4b4b4.Te6edf3newInterfaceSpreadingFactorTb4b4b4,
Te6edf3thisTb4b4b4.Te6edf3newInterfaceCodingRateTb4b4b4,
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3noiseFloorTb4b4b4,
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3antennaGainTb4b4b4,
Te6edf3thisTb4b4b4.Te6edf3newInterfaceTxpower
Tb4b4b4)Tb4b4b4;
}Tb4b4b4,
Te6edf3calculateRNodeParametersTb4b4b4(Te6edf3bandwidthTb4b4b4, Te6edf3spreadingFactorTb4b4b4, Te6edf3codingRateTb4b4b4, Te6edf3noiseFloorTb4b4b4, Te6edf3antennaGainTb4b4b4, Te6edf3transmitPowerTb4b4b4) {
Tff7b72if Tb4b4b4(!Te6edf3bandwidth Tff7b72|Tff7b72| !Te6edf3spreadingFactor Tff7b72|Tff7b72| !Te6edf3codingRateTb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3dataRate Tff7b72= Ta5d6ff"0 bps"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3sensitivity Tff7b72= Ta5d6ff"??? dBm"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3linkBudget Tff7b72= Ta5d6ff"??? dB"Tb4b4b4;
Tff7b72returnTb4b4b4;
}
Tff7b72/Tff7b72/ Te6edf3httpsTb4b4b4:Tff7b72/Tff7b72/Te6edf3unsignedTb4b4b4.Te6edf3ioTff7b72/Te6edf3understandingTff7b72-Te6edf3loraTff7b72-Tff7b72parametersTff7b72/
Tff7b72/Tff7b72/ Ta5d6ff"SX1272/3/6/7/8 LoRa Modem Design Guide" Te6edf3httpsTb4b4b4:Tff7b72/Tff7b72/Te6edf3wwwTb4b4b4.Te6edf3openhacksTb4b4b4.Te6edf3comTff7b72/Te6edf3uploadsproductosTff7b72/Te6edf3loradesignguide_stdTb4b4b4.Te6edf3pdf
Tff7b72/Tff7b72/ T79c0ff4:T79c0ff5 Tff7b72- T79c0ff4:T79c0ff8
Te6edf3const Te6edf3crn Tff7b72= {
T79c0ff5: T79c0ff1Tb4b4b4,
T79c0ff6: T79c0ff2Tb4b4b4,
T79c0ff7: T79c0ff3Tb4b4b4,
T79c0ff8: T79c0ff4Tb4b4b4,
}Tb4b4b4;
Te6edf3codingRate Tff7b72= Te6edf3crnTff7b72[Te6edf3codingRateTff7b72]Tb4b4b4;
Te6edf3const Te6edf3sfn Tff7b72= {
T79c0ff5: Tff7b72-T79c0ff2.5Tb4b4b4,
T79c0ff6: Tff7b72-T79c0ff5Tb4b4b4,
T79c0ff7: Tff7b72-T79c0ff7.5Tb4b4b4,
T79c0ff8: Tff7b72-T79c0ff10Tb4b4b4,
T79c0ff9: Tff7b72-T79c0ff12.5Tb4b4b4,
T79c0ff10: Tff7b72-T79c0ff15Tb4b4b4,
T79c0ff11: Tff7b72-T79c0ff17.5Tb4b4b4,
T79c0ff12: Tff7b72-T79c0ff20Tb4b4b4,
}Tb4b4b4;
Te6edf3let Te6edf3dataRate Tff7b72=
Te6edf3spreadingFactor Tff7b72* Tb4b4b4(T79c0ff4 Tff7b72/ Tb4b4b4(T79c0ff4 Tff7b72+ Te6edf3codingRateTb4b4b4) Tff7b72/ Tb4b4b4(Te6edf3MathTb4b4b4.Te6edf3powTb4b4b4(T79c0ff2Tb4b4b4, Te6edf3spreadingFactorTb4b4b4) Tff7b72/ Tb4b4b4(Te6edf3bandwidth Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4)Tb4b4b4) Tff7b72* T79c0ff1000Tb4b4b4;
Te6edf3let Te6edf3sensitivity Tff7b72= Tff7b72-T79c0ff174 Tff7b72+ T79c0ff10 Tff7b72* Te6edf3MathTb4b4b4.Td2a8fflog10Tb4b4b4(Te6edf3bandwidthTb4b4b4) Tff7b72+ Te6edf3noiseFloor Tff7b72+ Tb4b4b4(Te6edf3sfnTff7b72[Te6edf3spreadingFactorTff7b72] Tff7b72|Tff7b72| T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3bandwidth Tff7b72=Tff7b72=Tff7b72= T79c0ff203125 Tff7b72|Tff7b72| Te6edf3bandwidth Tff7b72=Tff7b72=Tff7b72= T79c0ff406250 Tff7b72|Tff7b72| Te6edf3bandwidth Tff7b72> T79c0ff500000Tb4b4b4) {
Te6edf3sensitivity Tff7b72= Tff7b72-T79c0ff165.6 Tff7b72+ T79c0ff10 Tff7b72* Te6edf3MathTb4b4b4.Td2a8fflog10Tb4b4b4(Te6edf3bandwidthTb4b4b4) Tff7b72+ Te6edf3noiseFloor Tff7b72+ Tb4b4b4(Te6edf3sfnTff7b72[Te6edf3spreadingFactorTff7b72] Tff7b72|Tff7b72| T79c0ff0Tb4b4b4)Tb4b4b4;
}
Te6edf3let Te6edf3linkBudget Tff7b72= Te6edf3transmitPower Tff7b72- Te6edf3sensitivity Tff7b72+ Te6edf3antennaGainTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3dataRate Tff7b72=
Te6edf3dataRate Tff7b72< T79c0ff1000 Tff7b72? `${Te6edf3dataRateTb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff0Tb4b4b4)} Te6edf3bps` : `${Tb4b4b4(Te6edf3dataRate Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff2Tb4b4b4)} Te6edf3kbps`Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3linkBudget Tff7b72= `${Te6edf3linkBudgetTb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff1Tb4b4b4)} Te6edf3dB`Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3RNodeInterfaceLoRaParametersTb4b4b4.Te6edf3sensitivity Tff7b72= `${Te6edf3sensitivityTb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff1Tb4b4b4)} Te6edf3dBm`Tb4b4b4;
}Tb4b4b4,
Te6edf3addI2PPeerTb4b4b4(Te6edf3address Tff7b72= Ta5d6ff""Tb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3I2PSettingsTb4b4b4.Te6edf3newInterfacePeersTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3addressTb4b4b4)Tb4b4b4;
}Tb4b4b4,
Te6edf3removeI2PPeerTb4b4b4(Tff7b72indexTb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3I2PSettingsTb4b4b4.Te6edf3newInterfacePeersTb4b4b4.Te6edf3spliceTb4b4b4(Tff7b72indexTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
}Tb4b4b4,
Te6edf3addSubInterfaceTb4b4b4(Tb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3RNodeMultiInterfaceTb4b4b4.Te6edf3subInterfacesTb4b4b4.Te6edf3pushTb4b4b4({
Te6edf3nameTb4b4b4: Ta5d6ff""Tb4b4b4,
Te6edf3frequencyTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3bandwidthTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3txpowerTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3spreadingfactorTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3codingrateTb4b4b4: Tff7b72nullTb4b4b4,
Te6edf3vportTb4b4b4: Tff7b72nullTb4b4b4,
}Tb4b4b4)Tb4b4b4;
}Tb4b4b4,
Te6edf3useKISSAX25Tb4b4b4(Tb4b4b4) {
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3newInterfaceType Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"AX25KISSInterface"Tb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3newInterfaceType Tff7b72= Ta5d6ff"KISSInterface"Tb4b4b4;
} Tff7b72else {
Te6edf3thisTb4b4b4.Te6edf3newInterfaceType Tff7b72= Ta5d6ff"AX25KISSInterface"Tb4b4b4;
}
}Tb4b4b4,
Te6edf3removeSubInterfaceTb4b4b4(Te6edf3idxTb4b4b4) {
Te6edf3thisTb4b4b4.Te6edf3RNodeMultiInterfaceTb4b4b4.Te6edf3subInterfacesTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3idxTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
}Tb4b4b4,
}Tb4b4b4,
}Tb4b4b4;
Tff7b72<Tff7b72/Te6edf3scriptTff7b72>
Tff7b72<Te6edf3style Te6edf3scopedTff7b72>
Tb4b4b4.Te6edf3glassTff7b72-Te6edf3card {
Te6edf3@apply Te6edf3bgTff7b72-Te6edf3whiteTff7b72/T79c0ff95 Te6edf3darkTb4b4b4:Te6edf3bgTff7b72-Te6edf3zincTff7b72-T79c0ff900Tff7b72/T79c0ff85 Te6edf3backdropTff7b72-Te6edf3blur Te6edf3border Te6edf3borderTff7b72-Te6edf3grayTff7b72-T79c0ff200 Te6edf3darkTb4b4b4:Te6edf3borderTff7b72-Te6edf3zincTff7b72-T79c0ff800 Te6edf3roundedTff7b72-T79c0ff3Te6edf3xl Te6edf3shadowTff7b72-Te6edf3xlTb4b4b4;
}
Tb4b4b4.Tff7b72inputTff7b72-Te6edf3field {
Te6edf3@apply Te6edf3bgTff7b72-Te6edf3grayTff7b72-T79c0ff50Tff7b72/T79c0ff90 Te6edf3darkTb4b4b4:Te6edf3bgTff7b72-Te6edf3zincTff7b72-T79c0ff900Tff7b72/T79c0ff80 Te6edf3border Te6edf3borderTff7b72-Te6edf3grayTff7b72-T79c0ff200 Te6edf3darkTb4b4b4:Te6edf3borderTff7b72-Te6edf3zincTff7b72-T79c0ff700 T56d364textTff7b72-Te6edf3sm Te6edf3roundedTff7b72-T79c0ff2Te6edf3xl Te6edf3focusTb4b4b4:Te6edf3ringTff7b72-T79c0ff2 Te6edf3focusTb4b4b4:Te6edf3ringTff7b72-Te6edf3blueTff7b72-T79c0ff400 Te6edf3focusTb4b4b4:Te6edf3borderTff7b72-Te6edf3blueTff7b72-T79c0ff400 Te6edf3darkTb4b4b4:Te6edf3focusTb4b4b4:Te6edf3ringTff7b72-Te6edf3blueTff7b72-T79c0ff500 Te6edf3darkTb4b4b4:Te6edf3focusTb4b4b4:Te6edf3borderTff7b72-Te6edf3blueTff7b72-T79c0ff500 Te6edf3block Te6edf3wTff7b72-Tff7b72full Te6edf3pTff7b72-T79c0ff2.5 T56d364textTff7b72-Te6edf3grayTff7b72-T79c0ff900 Te6edf3darkTb4b4b4:T56d364textTff7b72-Te6edf3grayTff7b72-T79c0ff100 Te6edf3transitionTb4b4b4;
}
Tb4b4b4.Te6edf3glassTff7b72-Te6edf3label {
Te6edf3@apply Te6edf3mbTff7b72-T79c0ff1 T56d364textTff7b72-Te6edf3sm Te6edf3fontTff7b72-Te6edf3semibold T56d364textTff7b72-Te6edf3grayTff7b72-T79c0ff800 Te6edf3darkTb4b4b4:T56d364textTff7b72-Te6edf3grayTff7b72-T79c0ff200Tb4b4b4;
}
Tb4b4b4.Te6edf3glassTff7b72-Te6edf3field {
Te6edf3@apply Td2a8ffspaceTff7b72-Te6edf3yTff7b72-T79c0ff1Tb4b4b4;
}
Tff7b72<Tff7b72/Te6edf3styleTff7b72>
Served by rngit 1.3.7 - Generated in 0.1s